Optimizing and Parallelizing Ranked Enumeration
نویسندگان
چکیده
Lawler-Murty’s procedure is a general tool for designing algorithms for enumeration problems (i.e., problems that involve the production of a large set of answers in ranked order), which naturally arise in database management. LawlerMurty’s procedure is used in a variety of modern database applications; particularly in those related to keyword search over structured data. Essentially, this procedure enumerates by invoking a series of instances of an optimization problem (i.e., finding the best solution); solving the optimization problem is the only part that depends on the specific task at hand. The topic of optimizing and parallelizing Lawler-Murty’s procedure is investigated. Naive parallelism can be carried out by concurrently solving independent instances of the optimization problem. This can be improved by printing the next answer, in the enumeration order, as soon as none of the concurrent instances can produce a better answer. However, this approach alone suffers from poor utilization of available threads. That leads to the idea of freezing an instance of the optimization problem. Interestingly, not only is freezing beneficial to the parallel execution of Lawler-Murty’s, it also substantially reduces the running time of the serial execution. Additional improvements of the freezing technique are then developed to further enhance the utilization of threads, and they result in a significant overall speedup. The effectiveness of the proposed approach is demonstrated on keyword search over data graphs, wherein an extensive experimental study is described.
منابع مشابه
Parallelizing frequent web access pattern mining with partial enumeration for high speedup
The maximum speedup of direct parallelization of pattern-growth mining algorithms for long sequences is limited by the load imbalance among the parallel tasks. In this paper, we present a scheme to parallelize pattern-growth mining algorithms using partial enumeration for high speedup. The experimental results show that partial enumeration increases the achievable speedup of parallel mining sig...
متن کاملParallelizing query optimization
Many commercial RDBMSs employ cost-based query optimization exploiting dynamic programming (DP) to efficiently generate the optimal query execution plan. However, optimization time increases rapidly for queries joining more than 10 tables. Randomized or heuristic search algorithms reduce query optimization time for large join queries by considering fewer plans, sacrificing plan optimality. Thou...
متن کاملOptimizing and Parallelizing Loops in Object-Oriented Database Programming Languages
Database programming languages like O2, E, and O++ include the ability to iterate through a set. Nested itera-tors can be used to express joins. Without program analysis, such joins must be evaluated using a tuple-at-a-timenested-loops join algorithm, because otherwise program semantics may be violated. Ensuring that the program’ssemantics are preserved during transformation require...
متن کاملCombining Symbolic Execution and Path Enumeration in Worst-Case Execution Time Analysis
This paper examines the problem of determining bounds on execution time of real-time programs. Execution time estimation is generally useful in real-time software verification phase, but may be used in other phases of the design and execution of real-time programs (scheduling, automatic parallelizing, etc.). This paper is devoted to the worst-case execution time (WCET) analysis. We present a st...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- PVLDB
دوره 4 شماره
صفحات -
تاریخ انتشار 2011